package cn.tedu.controller;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

//测试springmvc自动解析请求参数
@RestController
@RequestMapping("/car3")
public class Car3Controller {
    //7、利用springmvc框架提供的restful风格,优化get的提交方式
    //普通的get提交:http://localhost:8080/car3/insert5?id=10&name=张三
    //restful提交:http://localhost:8080/car3/insert5/10/张三
    @RequestMapping("insert5/{x}/{y}")//{x}用来获取地址栏里的参数10，{y}用来获取地址栏里的参数张三
    public void insert5(@PathVariable int x,
                        @PathVariable String y){
        System.out.println(x+y);
    }
    //6、利用springmvc框架提供的restful风格,优化get的提交方式
    //普通的get提交:http://localhost:8080/car3/insert3?id=10
    //restful提交:http://localhost:8080/car3/insert4/10
    @RequestMapping("insert4/{id}")
    public void insert4(
            @PathVariable int id){
        System.out.println(id);
    }
    //5、利用springmvc框架把参数,自动封装成对象
    //测试:http://localhost:8080/car3/insert3?id=1&name=2&type=3&color=4&price=5
    @RequestMapping("/insert3")
    public void insert3(Car c){
        System.out.println(c);
    }
    //4、利用springmvc框架解析多个参数
    //测试:http://localhost:8080/car3/insert2?id=1&name=张三&age=18&addr=北京
    @RequestMapping("/insert2")
    public void insert2(int id,String name ,int age,String addr){
        System.out.println(id+name+age+addr);
    }
    //3、利用springmvc框架解析多个参数(还可以自动类型转换)
    //测试:http://localhost:8080/car3/insert?id=1&name=张三&age=18
    @RequestMapping("/insert")
    public void insert(int id,String name,int age){
        System.out.println(id+name+age);
    }
    //2、利用springmvc框架解析1个参数
    //测试:http://localhost:8080/car3/add?id=1
    @RequestMapping("/add")
    public void add(int id){
        System.out.println(id);
    }
    //1、我们手动解析url地址栏里的数据
    public void mine(){
        String url="http://localhost:8080/car/insert?id=1&name=张三&age=18";
        //url.split("\\?")得到[http://localhost:8080/car/insert, id=1&name=张三&age=18]
        //[1]得到 id=1&name=张三&age=18
        //split("&")得到 [id=1, name=张三, age=18]
        String[] s=url.split("\\?")[1].split("\\&");

        System.out.println(s[1]);
        for (String ss:s) {
            //data得到 [id,1]  [name,张三]   [age,18]
            //[1]得到 1   张三   18
            String data =ss.split("\\=")[1];
            //打印解析到的数据1   张三   18
            System.out.println(data);
    }
    }
}
